This invention pertains generally to methods of providing page protection in a digital printing system having multiple output devices, and more particularly to laser printing systems having multiple output devices.
In the past, peripheral units such as laser printers have typically captured an entire page before any image is placed on paper. The term xe2x80x9cperipheral unitxe2x80x9d as used in this document shall include, without limitation, any type of peripheral unit which produces a hard copy output or print media, e.g. laser printers (color or monochrome), copiers, facsimile devices, plotters, ink jet based devices, and the like. In peripheral units such as laser printers, formatting is either performed on the host computer (with large volumes of rasterized data being shipped to the printer), or on a formatter within the printer. Since a laser printer print engine operates at a constant speed, if new rasterized data is not available at a rate that keeps up with the engine""s operation, a print xe2x80x9coverrunxe2x80x9d or so-called xe2x80x9cpuntxe2x80x9d occurs and the page is not printable. Various methods for addressing print overrun situations are described in U.S. Pat. No. 5,479,587, the disclosure of which is incorporated by reference herein. Various other aspects of printers are described in the following U.S. patents, the disclosures of which are incorporated by reference: U.S. Pat. Nos. 5,450,562, and 5,459,818.
Modern printers often use firmware-driven, microprocessor-controlled formatters to control the operation of the printer. In systems where the data races the laser, so-called xe2x80x9cpunt protectionxe2x80x9d processes have been developed and employed on every page to ensure that the data keeps up with the engine speed. For example, after a page has been composed by a language-specific personality, but before it is released to the page-pipe-queue for printing by the engine, a punt protection process is employed. The punt protection process ensures that each page will race the laser in real-time, by assessing the complexity measure of each strip, and test-rasterizing the strip if necessary. If dictated by the complexity or the test-rasterization, the strip is transformed to a faster format in order to assure racing the laser, thus avoiding a punt in the real time printing of the page. Various aspects of overrun or punt protection are described in the following U.S. patents, the disclosures of which are incorporated by reference: U.S. Pat. Nos. 5,781,707, 5,129,049, 5,444,827, and 5,524,186.
An additional challenge to the various xe2x80x9cpunt protectionxe2x80x9d processes is the satisfaction of the requirements of multiple output devices within the same punt protection process. One specific example of two output devices is (1) a laser print engine and (2) a disk storage device that is used to store laser-ready jobs for later reprinting. As will be understood by those of skill in the art, the laser print engine typically demands its own punt protection requirements, while the disk storage device places a different set of requirements upon information being processed into a printed image. The requirements of the disk storage device can be driven by the speed of retrieval from the disk and transmission to the laser print engine, relative to the required delivery speed of the laser print engine and any accounting for available buffering in the disk-to-engine delivery path.
This invention arose out of concerns associated with improving page protection in the context of multiple output devices and the avoidance of duplicity or multiple sequential processing when a plurality of output devices are used.
Methods of providing page protection in digital printing systems having multiple output devices are described. In one embodiment, first and second output devices are provided and have different time constraints for processing predetermined amounts of data which will ultimately be printed on a print medium. One of the time constraints is selected to provide a selected time constraint, and at least one predetermined amount of data is tested against the selected time constraint to determine whether the selected time constraint is satisfied. If the selected time constraint is not satisfied, the predetermined amount of data is transformed into a state which is more likely to satisfy the selected time constraint.
In another embodiment, a first processing time constraint of a first output device is determined. The first processing time constraint impacts the manner in which a predetermined amount of data is processed into a printed image. A second processing time constraint of a second output device is determined. The second processing time constraint impacts the manner in which the predetermined amount of data is processed into a printed image. The first and second processing time constraints are compared and responsive to the comparison, the processing time constraint having a lesser magnitude is selected to provide a selected processing time constraint.
In yet another embodiment, a plurality of data-processing devices are provided having different time-dependent constraints for processing predetermined amounts of data which will ultimately be printed on a print medium. A time-dependent constraint for a first of the data-processing devices is calculated and is associated with a processing time of the first data-processing device relative to processing of the predetermined amounts of data. A time-dependent constraint for at least one other data-processing device is calculated. The time-dependent constraint for the other data-processing device is associated with a processing time of the other data-processing device relative to processing of the predetermined amounts of data. One of the calculated time-dependent constraints constitutes a worst-case constraint. At least one predetermined amount of data is tested against the worst-case constraint. If the worst-case constraint is not met, the predetermined amount of data is modified to satisfy the worst-case constraint. Other embodiments are described.